#include <stdio.h>
#include <stdlib.h>
#define grid 20
int main()
{
    unsigned long long routeSum[grid+1][grid+1];
    unsigned long long i,x;
    for(x=0;x<=grid;x++)
    {
        routeSum[x][0]=1;
        routeSum[0][x]=1;
    }
    for(i=1;i<=grid;i++)
    {
        for(x=1;x<=i;x++)
        {
            routeSum[x][i]=routeSum[x-1][i]+routeSum[x][i-1];
            routeSum[i][x]=routeSum[i][x-1]+routeSum[i-1][x];
        }
    }
    printf("%lld\n",routeSum[grid][grid]);
    return 0;
}






